Return of boolean literal statements wrapped into if-then-else
ones should be simplified.
Similarly, method invocations wrapped into if-then-else
differing only from boolean literals should be simplified into a single
invocation.
Noncompliant code example
boolean foo(Object param) {
if (expression) { // Noncompliant
bar(param, true, "qix");
} else {
bar(param, false, "qix");
}
if (expression) { // Noncompliant
return true;
} else {
return false;
}
}
Compliant solution
boolean foo(Object param) {
bar(param, expression, "qix");
return expression;
}